/**
 * Client.java
 * create by Lisq
 * date 2014-3-10
 */
package com.lsq.jian_zao_zhe_mo_shi;

import java.util.ArrayList;
import java.util.List;

import com.lsq.jian_zao_zhe_mo_shi.builder.BenzBuilder;
import com.lsq.jian_zao_zhe_mo_shi.model.BenzModel;

/**
 * @author Lisq
 */
public class Client {

	public static void main(String[] args) {
		// 客户告诉牛叉公司，我要这样一个模型，然后牛叉公司就告诉我老大 说要这样一个模型，这样一个顺序，然后我就来制造
		BenzModel benz = new BenzModel();
		List<String> sequence = new ArrayList<String>(); // 存放run的顺序
		sequence.add("engine boom"); // 客户要求，run的时候时候先发动引擎
		sequence.add("start"); // 启动起来
		sequence.add("stop"); // 开了一段就停下来
		System.out.println("--------------------原版---------------------");
		// 然后我们把这个顺序给奔驰车：
		benz.setSequence(sequence);
		benz.run();
		System.out.println("--------------------新版---------------------");
		// 要一个奔驰车：
		BenzBuilder benzBuilder = new BenzBuilder();
		// 把顺序给这个builder类，制造出这样一个车出来
		benzBuilder.setSequence(sequence);
		// 制造出一个奔驰车
		benz = (BenzModel) benzBuilder.getCarModel();
		// 奔驰车跑一下看看
		benz.run();
	}
}
